package com.technology.javase;

public class storage {
    /**
     * 常量池 存储 类信息 常量 静态变量 编译器编译后的代码
     * */
    /**
     * String.intern()是一个Native(原生)方法，底层调用C++的 StringTable::intern 方法
     * 用 intern 方法时，如果常量池中已经该字符串，则返回池中的字符串；否则将此字符串添加到常量池中，并返回字符串的引用
     * */

    public static void main(String[] args) {
        String s1 = new StringBuilder().append("String").append("Test").toString();
        System.out.println(s1.intern());
        System.out.println(s1);
        System.out.println(s1.intern() == s1);

        String s2 = new StringBuilder().append("ja").append("va").toString();
        System.out.println(s2.intern());
        System.out.println(s2);
        System.out.println(s2.intern() == s2);
    }

}
